#ifndef CSAVESTATE_H_
#define CSAVESTATE_H_

#include "IGameState.h"

#include <string>
#include <vector>
#include <fstream>
#include <stdio.h>
using namespace std;

#include "CBase.h"
#include "CPlayer.h"

#include "SGD Wrappers/CSGD_TextureManager.h"
#include "SGD Wrappers/CSGD_DirectInput.h"
#include "SGD Wrappers/CSGD_Direct3D.h"

struct Profile
{
	int index;
	char timePlayed[25];
};

class CSaveState : public IGameState
{
private:
	 vector<Profile> profileList;

	 short menuIndex;
	 int menuCursor;

	CSaveState();
	~CSaveState();
	CSaveState(const CSaveState& copy) {}
	CSaveState& operator=(const CSaveState& assign) {}
	
	void LoadProfiles();
	void SaveProfiles();
	void NewProfile(int index);
public:

	static CSaveState* GetInstance();

	void Enter(void);
	bool Input(void);
	void Update(float fElapsedTime);
	void Render(void);
	void Exit(void); 
};

#endif